Family branch exchange

ABSTRACT

A Family Branch Exchange (FBX) overcomes limitations of conventional residential telephone technology to inexpensively provide more useful and advanced residential telephone services. For example, a method of providing automatic call forwarding comprises receiving, at a service provider system connected to a telephone network and optionally to a data network, a call including dialing information indicating a person to whom the call is to be placed, retrieving, at the service provider system, destination information for the indicated person, and forwarding, from the service provider system, the call to at least one destination indicated by the destination information.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Provisional Application No.61/358,258, filed Jun. 24, 2010, the contents of which are incorporatedherein in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to systems, methods, and computer programproducts for providing advanced residential telephone services.

2. Description of the Related Art

Families are faced with increasing choices associated with communicationservices and devices. While costs for individual services and deviceshave generally declined in price, when bundled together the cost perhousehold for basic communication services has actually increased inrecent decades. Until recently, basic telephone service (POTS) remainedthe bedrock communication tool in every American household as thevoice-grade telephone service. With the increased adoption of broadbandservices, VoIP is expected to become a primary means of residentialcommunication. In the case of most residential users, the wiring whichbrings communication to the house, “the last mile”, usually has one ortwo lines and most phones are single line analog devices. Any householdwith multiple residents experiences the annoyance of answering the phoneand realizing it is for someone else. They must call someone else, takedown a message, or ask the calling party to call back and leave amessage on a voice mail system, if it exists. Or, the called party maynot be reachable on the residential line even though they could bereached on their cell phone. Conventional residential telephonetechnology has not advanced in terms of overcoming these and othercommon limitations and annoyances.

A need arises for a technique by which limitations of conventionalresidential telephone technology may be overcome to inexpensivelyprovide more useful and advanced residential telephone services.

SUMMARY OF THE INVENTION

A Family Branch Exchange (FBX) overcomes limitations of conventionalresidential telephone technology to inexpensively provide more usefuland advanced residential telephone services. For example, FBX, anycalling party has the ability to identify and choose which specificperson inside the household they are trying to reach. FBX functionalityallows for easy call screening that benefits both the calling party andthe called party. Because of its ease of use, FBX facilitatescommunication between family members no matter where they are in theworld. Any subscriber to the FBX system can initiate or receive a callsimply by dialing one or two digits and the call will be free, whenrouted over IP, or very inexpensive, in many other cases when PublicSwitched Telephone Network (PSTN) termination is needed, includinginternational calls.

For example, a method of providing distinctive ringing comprisesreceiving, at a service provider system connected to a telephonenetwork, a call from a calling party to a user of the service providersystem, playing, from the service provider system to the calling party,a message indicating a plurality of choices from which to select,receiving, at the service provider system, the calling party'sselection, and transmitting, from the service provider system, a messageindicating a ring tone or ring type to be used based on the callingparty's selection. The received call is received at the service providersystem from the telephone network. The plurality of choices from whichto select represent a plurality of people. The message indicating a ringtone or ring type is transmitted over the telephone network over ananalog telephone line to a telephone. The service provider system isfurther connected to a data network. The received call is received atthe service provider system from the data network. The plurality ofchoices from which to select represent a plurality of people. Themessage indicating a ring tone or ring type is transmitted over the datanetwork to an adapter that connects an analog telephone line to the datanetwork.

As another example, a method of providing automatic call forwardingcomprises receiving, at a service provider system connected to atelephone network, a call from user premises, wherein the person to whomthe call is to be placed is associated with the user premises, the callincluding dialing information indicating a person to whom the call is tobe placed, retrieving, at the service provider system, destinationinformation for the indicated person, and forwarding, from the serviceprovider system, the call to at least one destination indicated by thedestination information. The received call is received at the serviceprovider system from the telephone network. The dialing information isan extension number indicating a person at the user premises. Thedestination information includes at least one telephone number. Thetelephone number is a cell phone number or a landline telephone numberat a location other than the user premises. The service provider systemis further connected to a data network. The received call is received atthe service provider system from the data network. The dialinginformation is an extension number indicating a person at the userpremises. The destination information includes at least one telephonenumber, network address, or network name. The telephone number is a cellphone number or a landline telephone number at a location other than theuser premises.

As another example, a method of providing voicemail service comprisesreceiving, at a service provider system connected to a data network andto a telephone network, an access to voicemail from user premises,checking, at the service provider system, whether there are any newvoicemail messages in any voicemail box associated with the userpremises, and transmitting, from the service provider system, a messageto turn on a new voicemail message indication when there is a newvoicemail message in any voicemail box associated with the userpremises. The method further comprises transmitting, from the serviceprovider system, a message to turn off a new voicemail messageindication when there are no new voicemail messages in any voicemail boxassociated with the user premises. The message indicating the newvoicemail message is transmitted over the data network to an adapterthat connects an analog telephone line to the data network.

As another example, a method of providing voicemail service comprisesreceiving, at a service provider system connected to a data network andto a telephone network, an access to voicemail from a user at userpremises, checking, at the service provider system, the statuses of allvoicemail boxes associated with the user premises to determine a numberof new voicemail messages in each voicemail box, building, at theservice provider system, a voice message indicating which voicemailboxes have new messages, and playing, from the service provider systemto the user, the voice message indicating which voicemail boxes have newmessages. The checking step further comprises determining a number ofold and saved voicemail messages in each voicemail box, and the buildingstep further comprises generating the voice message based on the numberof old and saved voicemail messages in each voicemail box.

As another example, a method of providing support services comprisesreceiving, at a service provider system connected to a data network andto a telephone network, an access to voicemail from a user at userpremises, checking, at the service provider system, the statuses of allvoicemail boxes associated with the user premises to determine a numberof new voicemail messages in each voicemail box, building, at theservice provider system, a voice message indicating which voicemailboxes have new messages, and playing, from the service provider systemto the user, the voice message indicating which voicemail boxes have newmessages.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of the present invention, both as to its structure andoperation, can best be understood by referring to the accompanyingdrawings, in which like reference numbers and designations refer to likeelements.

FIG. 1 is an exemplary block diagram of a system in which FBX may beimplemented.

FIG. 2 is an exemplary flow diagram of a process of operation of an FBXdistinctive ringing feature.

FIG. 3 is an exemplary flow diagram of a process of operation of an FBXauto-call blasting and notification feature.

FIG. 4 is an exemplary flow diagram of a process of operation of an FBXMWI feature.

FIG. 5 is an exemplary flow diagram of a process of operation of an FBXunified voicemail announcement feature.

FIG. 6 is an exemplary flow diagram of a process of operation of an FBXCRM feature.

FIG. 7 is an exemplary block diagram of a service provider system shownin FIG. 1.

FIG. 8 is an exemplary block diagram of a computer system that may beused to implement the one or more of the systems shown in FIG. 7.

FIG. 9 is an exemplary block diagram of a system in which FBX may beimplemented.

FIG. 10 is an exemplary flow diagram of a process of operation of an FBXdistinctive ringing feature implemented in the system shown in FIG. 9.

FIG. 11 is an exemplary flow diagram of a process of operation of an FBXauto-call blasting and notification feature implemented in the systemshown in FIG. 9.

DETAILED DESCRIPTION OF THE INVENTION

A Family Branch Exchange (FBX) overcomes limitations of conventionalresidential telephone technology to inexpensively provide more usefuland advanced residential telephone services. For example, FBX, anycalling party has the ability to identify and choose which specificperson inside the household they are trying to reach. FBX functionalityallows for easy call screening that benefits both the calling party andthe called party. Because of its ease of use, FBX facilitatescommunication between family members no matter where they are in theworld. Any subscriber to the FBX system can initiate or receive a callsimply by dialing one or two digits and the call will be free, whenrouted over IP, or very inexpensive, in many other cases when PublicSwitched Telephone Network (PSTN) termination is needed, includinginternational calls.

FBX is a modified and greatly simplified PBX/key system with specialfunctionality to work over limited number (one in most cases) of analogphone lines with analog end user handsets (phones). FBX can be a singlelocation or multi-location installation. It may have one or many PSTNphone numbers, such as one number per location based on subscriberpreference.

An exemplary system 100, in which FBX may be implemented, is shown inFIG. 1. System 100 includes the Public Switched Telephone Network (PSTN)102, which includes any and all publicly available telecommunicationsnetworks, including analog and digital wired telecommunications networksand analog and digital wireless telecommunications networks. PSTN 102provides communicative connectivity to wired phones 104 and wirelessphones 106. Communicatively connected to PSTN 102 is service providersystem 108, which, in this example, is used to provide the FBXfunctionality. Service provider system 108 may include apparatus such astelephone switches, gateways, etc. Service provider system 108 is alsocommunicatively connected to one or more data networks, such as theInternet 110. Although, in this example, the Internet is shown as anexample of a data network, the present invention contemplates connectionto any and all types of public, private, standard, proprietary, wired,wireless, local area, or wide area data networks.

An example of the equipment installed at a typical FBX user premises 130is further shown in FIG. 1. In this example, the user connects to thedata network/Internet 110 using a cable/DSL modem 112. However, thepresent invention contemplates any data network technology, whetherstandard or proprietary, local area, or wide area, etc. In this example,the data network/Internet connection is provided to the user's devicesover a local area network (LAN) 113 via a residential router 114.Examples of devices that may be connected to the data network includecomputers 116 and 118, and analog telephone adapter 120. However, thepresent invention contemplates connection not just of these types ofdevices, but of any device or type of device that is capable ofcommunicative connection to a data network.

Analog telephone adapter 120 is a device used to connect one or morestandard analog telephones to a digital telephone system (such as Voiceover IP) or a non-standard telephone system over a data network. Suchdevices are in commonly used to provide Voice-over-IP (VoIP) telephoneservice. In this example, analog telephone adapter 120 iscommunicatively connected to a data network LAN 113 and connects usinghome analog telephone line 122 to home phones 124, 126, and 128. In thisexample, home phones 124, 126, and 128 are standard, commonly available,wired 124, 126, and wireless 128, telephone handsets.

Another common example of equipment that may be used is the use of aMultimedia Terminal Adapter (MTA) instead of the cable/DSL modem 112 andanalog telephone adapter 120 shown in FIG. 1. An MTA, or E-MTA, is acable modem and a VoIP adapter combined into a single device. Of course,these are merely examples of suitable devices that may be used, thepresent invention contemplates implementation using any devices capableof interfacing between telephone handsets and a data network.

An exemplary flow diagram of a process of operation 200 of an FBXdistinctive ringing feature implemented in the system shown in FIG. 1 isshown in FIG. 2. It is best viewed in conjunction with FIG. 1. Process200 starts with step 202. In step 204, an inbound call, that is a callfrom a calling party to a user of FBX, is received at the serviceprovider system 108, such as at a switch. In step 206, the calling partyis provided with choices from which to select. For example, the serviceprovider system 108 may play a front end menu message such as: “Thankyou for calling the Smith family, for Liz press one, for George presstwo, for Allen press three or press zero to reach anybody in thehousehold.” In step 208, service provider system 108 receives thecalling party's selection and determines whether a valid selection wasmade. For example, if, in response to the above message, the callingparty pressed five, this would not be a valid selection. If the callingparty's selection is not valid, the process continues with step 210, inwhich it is determined whether an attempt limit has been reached. If theattempt limit has been reached, the process continues with step 212, inwhich the call is ended by the service provider system 108, optionallywith the playing of a message to the calling party before the call isended. If the attempt limit has not been reached, the process continueswith step 206, in which the calling party is given another attempt toenter a valid selection.

If, in step 208, the calling party enters a valid selection, the processcontinues with step 214, in which service provider system 108 accesses adatabase to retrieve the type of ring that corresponds to the selectionmade. In step 216, a Session Initiation Protocol (SIP) Invite message issent from service provider system 108 to ATA (or MTA) 120. This SIPInvite message includes data that indicates or requests a specific ringtype to ATA (or MTA) 120. In step 218, ATA (or MTA) 120 receives the SIPInvite and, in response, sends the indicated or requested ring tone tothe user telephone handsets. In step 220, it is determined whether ornot the call was answered. If not, then in step 222, the call is sent tovoicemail, and in particular, to the voicemail box of the personselected above. After the voicemail is complete, in step 224 serviceprovider system 108 ends the call. If the call was answered, then instep 226, the phone conversation occurs, and when completed, in step 228service provider system 108 ends the call.

An example of a SIP Invite message that may be used to indicate orrequest a specific ring type is:

[ SIP ] 05:53:09.058944 ====> 38.102.250.80:7064 INVITEsip:GSHT502-000001*home.voippbxsite.net-24.13.207.46+6050@38.102.250.80:7064 SIP/2.0 Via: SIP/2.0/UDP38.102.250.16:5060;branch=z9hG4bK-xcast- LZEU7fIIIK.1 Via: SIP/2.0/UDP38.102.250.16:5080;branch=z9hG4bK421a8ac6 Record-Route:<sip:011972777851748@38.102.250.16:5060;lr;xft= as5e51acd0> From:“011972777851748”<sip:011972777851748@38.102.250.16:5080>;tag=as5e51acd0 To:<sip:px-transfertui-12986-12984cXREF-1@38.102.250.16> Contact:<sip:011972777851748@38.102.250.16:5080> Call-ID:0d03cbd30de6c8302bd368cb2e1ea454@38.102.250.16 CSeq: 102 INVITEUser-Agent: SIPTalk Media Server Content-Type: application/sdpContent-Length: 377 Date: Fri, 11 Mar 2011 13:53:08 GMT Allow: INVITE,ACK, CANCEL, OPTIONS, BYE, REFER X-Reference:b65b9da978c30cc08155f2eaf7ee1669-5212544@38.102.250.23 Alert-Info:<http://127.0.0.1/Bellcore-dr1> v=0 o=root 12061 12061 IN IP438.102.250.16 s=session c=IN IP4 38.102.250.16 t=0 0 m=audio 15936RTP/AVP 0 8 18 4 3 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000a=rtpmap:18 G729/8000 a=rtpmap:4 G723/8000 a=rtpmap:3 GSM/8000a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20

The requested value for ringing is set in the Alert-Info field. Suitablevalues that may be used to indicate the ring type include: Bellcore-dr0,Bellcore-dr1, . . . . Bellcore-dr7. The standard default phone ringingis 2 seconds on, 4 seconds off. The de-facto industry handling of thesevalues is below:

R0: Distinctive Ringing #0 2 seconds on, 4 seconds off R1: DistinctiveRinging #1 2 seconds on, 4 seconds off R2: Distinctive Ringing #2 800 mson, 400 ms off, 800 ms on, 4 seconds off R3: Distinctive Ringing #3 400ms on, 200 ms off, 400 ms on, 200 ms off, 800 ms on, 4 seconds off R4:Distinctive Ringing #4 300 ms on, 200 ms off, 1 second on, 200 ms of R5:Distinctive Ringing #5 500 ms on, 5.5 seconds off (not repeated) R6:Distinctive Ringing #6 2 seconds on, 4 seconds off R7: DistinctiveRinging #7 2 seconds on, 4 seconds off

The ATA/MTA 120 will send proper ring tone to regular analog phones overhome phone wiring 128 or directly to the device if it is attached to ATA120.

As noted above, calls are sent to the voicemail box of the selectedrecipient of the call. Each member of the household has their ownprivate voicemail box. In addition, the system can be configured so thatvoicemail can also be delivered to the called party's personal cellphone or another answering device.

An exemplary flow diagram of a process of operation 300 of an FBXauto-call blasting and notification feature is shown in FIG. 3. It isbest viewed in conjunction with FIG. 1. Process 300 starts with step302. In step 304, a call is originated from one of the phones 124-128connected to ATA 120 over home network 113 by a user dialing one of thefamily home extension numbers. For example, if the desired called partyhas a home extension number of “3”, the user would simply dial 3 on thehome phone. As phones 124-128 are regular analog telephones, they outputDTMF signals to ATA 120. In step 306, ATA 120 receives the DTMF signalsoutput by the dialed telephone. ATA 120 processes the received DTMFsignals, generates a SIP INVITE, and sends the SIP INVITE message to thephone server of service provider system 108. In step 308, serviceprovider system 108 receives the SIP INVITE message. An example of a SIPINVITE message that may be used to indicate a call to a home extensionis:

INVITE sip:3@home.voippbxsite.net SIP/2.0 Via: SIP/2.0/UDP38.102.250.80:7064;branch=z9hG4bK-middle- 49870162-1230.0 Via:SIP/2.0/UDP 192.168.10.3:6050;branch=z9hG4bK1778772214;rport From: “VladSmelyansky” <sip:GSHT502- 000001@home.voippbxsite.net>;tag=483642073 To:<sip:3@home.voippbxsite.net> Contact:<sip:GSHT502-000001*home.voippbxsite.net-24.13.207.46+6050@38.102.250.80:7064> Call-ID:350507642-6050-124@192.168.10.3 CSeq: 1230 INVITE Max-Forwards: 70User-Agent: Grandstream HT-502 V1.1B 1.0.1.57 ...

The user dialed “3” as shown in the line “INVITEsip:3@home.voippbxsite.net SIP/2.0.” In step 310, service providersystem 108 determines whether or not the SIP INVITE message came fromthe “home” ATA 120. The information in the “From” field, shown in theexemplary message, is sufficient for the service provider system 108 todo a database lookup and determines whether the SIP INVITE wasoriginated by one of the home phones. If the SIP INVITE was notoriginated by one of the home phones, then in step 312, service providersystem 108 performs regular call handling.

If the SIP INVITE was originated by one of the home phones, then in step314, service provider system 108 checks the user destinations for thecalled party. Because the call was originated from one of the homephones, there is no need to dial the called party at home. Serviceprovider system 108 does a database lookup to retrieve additional userdestinations for the called party. Examples of additional userdestinations include cell phone numbers, work numbers, VoIP phonenetwork addresses or network names, etc. In step 316, service providersystem 108 determines whether there are any other user destinations. Ifthere are none, then in step 318, the call is sent to voicemail. In thiscase, the feature can be used as a short cut to leave a message foranother family member. If, in step 316, it is determined that there areother user destinations, such as a cell phone in this example, then instep 320, the call is forwarded to that cell phone. An example of a SIPINVITE message that may be used to forward the call is:

[ SIP ] 07:10:48.830267 ====> 38.102.250.50:5060 INVITEsip:184784008207@38.102.250.50:5060 SIP/2.0 Via: SIP/2.0/UDP38.102.250.16:5060;branch=z9hG4bK-xcast- 8MPKm4iWhk.0 Via: SIP/2.0/UDP38.102.250.80:7064;branch=z9hG4bK-middle- 49870162-1231.0 Via:SIP/2.0/UDP 192.168.10.3:6050;branch=z9hG4bK197304559;rportRecord-Route: <sip:GSHT502-000001@38.102.250.16:5060;lr;xft= 483642073>From: “Anna Figman” <sip:8474858107@home.voippbxsite.net>;tag= 483642073To: <sip:3@home.voippbxsite.net> Contact:<sip:GSHT502-000001*home.voippbxsite.net-24.13.207.46+6050@38.102.250.80:7064> Call-ID:350507642-6050-124@192.168.10.3 CSeq: 1231 INVITE Max-Forwards: 69P-Asserted-Identity: “Vlad Smelyansky” <sip:GSHT502-000001@home.voippbxsite.net> Supported: replaces, path, timerUser-Agent: Grandstream HT-502 V1.1B 1.0.1.57

The forwarding of the call is similar to the handling of regular call.In step 322, the phone conversation occurs, and in step 324, the call isended.

Conventional home phone voicemail service is designed around ananswering machine. When somebody leaves a message, it is accessible toall members of the household. Often that the wrong member of thehousehold gets the message and the proper person even doesn't even knowabout the message. Existing business PBX solutions offer individualprivate voicemail. The indication of a new VM is usually displayed onthe phone device with a Message Waiting Indicator (MWI) and/or stuttertone on the phone. The problem is that each device is associated withone extension/person, while in the home, all telephone devices areshared.

The FBX solution to this problem has two parts. One part involvessetting the MWI if any user in the family has a new voicemail message,the other is a unified voicemail announcement that indicates which usershave new voicemail messages. In the FBX solution, the MWI is setwhenever there is a new voicemail message in any mailbox of any userassociated with the user premises. This is in contrast to thetraditional PBX, in which an indicator is set only on the phoneassociated with the mailbox that has a new message.

An exemplary flow diagram of a process of operation 400 of an FBX MWIfeature is shown in FIG. 4. It is best viewed in conjunction withFIG. 1. Process 400 starts with step 402. In step 404, a user associatedwith an account accesses voicemail. The voicemail access may be the userchecking for voicemail messages, leaving a voicemail message, changingtheir greeting, etc. In step 406, service provider system 108 checks todetermine whether there is a new voicemail message in any voicemail boxof any user associated with the user premises 130, shown in FIG. 1,associated with that account. In step 408, if there are no new voicemailmessages in any voicemail box of any user associated with the userpremises 130, then, in step 410, service provider system 108 sends a WMIOFF message, and in step 412, the call may then end. In step 408, ifthere is at least one new voicemail message in any voicemail box of anyuser associated with the user premises 130, then, in step 414, serviceprovider system 108 sends a WMI ON message, and in step 416, the callmay then end. An example of a WMI ON message that may be used is:

NOTIFY sip:2940D01L01@192.168.1.3:25060 SIP/2.0 Via: SIP/2.0/UDP38.102.250.80:7060;branch=z9hG4bK-middle- 49740858-101652.0 Via:SIP/2.0/UDP 38.102.250.16:5060;branch=z9hG4bK-xcast-FLHKONgFFM.U;received=38.102.250.93 From: “2940D01L01”<sip:2940D01L01@smith.familypbxs.net>;tag=mwi-4141202960 To:“2940D01L01” <sip:2940D01L01@smith.familypbxs.net> Call-ID:27a02a1151e70967e13b4073a2db67d9 CSeq: 101652 NOTIFY Max-Forwards: 69User-Agent: XCast VGProxy/1.2 Content-Type:application/simple-message-summary Content-Length: 43 Event:message-summary Messages-Waiting: yes Voice-Message: 5/0

An example of a WMI OFF message that may be used is:

NOTIFY sip:114D01L01@10.202.218.207:39197 SIP/2.0 Via: SIP/2.0/UDP38.102.250.80:7060;branch=z9hG4bK-middle- 49740679-4507.0 Via:SIP/2.0/UDP 38.102.250.16:5060;branch=z9hG4bK-xcast-GGNJEMErDL.U;received=38.102.250.93 From: “Greg Behymer”<sip:114D01L01@cmi.familypbxs.net>;tag=mwi- 4139794840 To: “GregBehymer” <sip:114D01L01@cmi.familypbxs.net> Call-ID:55a24ddbb2647aaf2b07ec84ddad87ff CSeq: 4507 NOTIFY Max-Forwards: 69User-Agent: XCast VGProxy/1.2 Content-Type:application/simple-message-summary Content-Length: 42 Event:message-summary Messages-Waiting: no Voice-Message: 0/2

The second part of the FBX solution to the voicemail problem is aunified voicemail announcement that indicates which users have newvoicemail messages. Currently there are multiple voicemail boxesconnected to the single phone line. When there is a new voicemail, theMWI indicates that there is a new voicemail message, but the users donot know which particular users have voicemail. Each user has to logininto their personal voicemail account to determine whether there are anynew voicemail messages for them. The FBX solution is a unified voicemailannouncement that indicates which users have new voicemail messages.

An exemplary flow diagram of a process of operation 500 of an FBXunified voicemail announcement feature is shown in FIG. 5. It is bestviewed in conjunction with FIG. 1. Process 500 starts with step 502. Instep 504, a user accesses voicemail. In step 506, the statuses of allvoicemail boxes are checked to determine a number of new voicemailmessages in each voicemail box, and optionally, the number of old and/orsaved messages in each voicemail box. For example, in step 508, thestatus of a first voicemail box is checked to determine the number ofnew voicemail messages in that box. Optionally, the number of old and/orsaved messages may also be determined. In step 510, the status of thefirst voicemail box is recorded. In step 512, the status of a secondvoicemail box is checked to determine the number of new (and/or old orsaved) voicemail messages in that box. In step 514, the status of thesecond voicemail box is recorded. The statuses of all voicemail boxesare checked and recorded until, in step 516, the status of the lastvoicemail box is checked to determine the number of new (and/or old orsaved) voicemail messages in that box. In step 518, the status of thelast voicemail box is recorded. In step 520, a voice message/prompt isbuilt using the recorded status of the voicemail boxes. The voicemessage indicates which voicemail boxes have new messages, andoptionally, may indicate the presence, absence, and number of new, old,and saved messages in each voicemail box. In step 522, the message isplayed to the user. In step 524, the voicemail dialog continues. Forexample, if the user has new voicemail messages, they may login andlisten to those messages.

FBX encourages usage of call-blast and, as a result, user's cell phonenumbers are stored in service provider system 108. When phone system isnot working, users will use their cell phones to the call serviceprovider to report the trouble. The FBX Customer Relations Management(CRM) feature automatically provides the service provider customerrepresentatives with family information, even though the family phonewas not used to place the call. An exemplary flow diagram of a processof operation 600 of an FBX CRM feature is shown in FIG. 6. It is bestviewed in conjunction with FIG. 1. Process 600 starts with step 602. Instep 604, the CRM system of the service provider receives a call from auser. In step 606, the CRM system performs a lookup in a database todetermine whether the phone number of the calling party is known. If thecalling party's phone number is found in the database, the number isknown to the CRM and in step 608, normal CRM processing is performedusing the known phone number. For example, the system may provide a CRMagent with already populated customer information.

If, in step 606, the calling party's phone number is not found in thedatabase, then in step 610, the CRM system sends a request to serviceprovider system 108, including the phone number of the calling party. Instep 612, service provider system 108 performs a lookup in a database todetermine whether the phone number of the calling party is associatedwith a user of the system. If the calling party's phone number is notfound in the database, the number is unknown to service provider system108 and to the CRM system and in step 614, normal CRM processing for anunknown caller is performed. For example, the system may prompt thecaller to supply information, or a CRM agent may request informationfrom the caller.

If the calling party's phone number is found in the database, the numberis known to service provider system 108 and in step 614, it isdetermined whether the calling party's phone number is associated with acustomer phone number. For example, the calling party's phone number maybe one of the destinations in a customer call blast list. If the callingparty's phone number is not associated with a customer phone number,then in step 614, normal CRM processing for an unknown caller isperformed. If the calling party's phone number is associated with acustomer phone number, then in step 618, the customer phone number isretrieved and in step 620, the customer phone number is sent to the CRMsystem. In step 608, the customer phone number is used to perform normalCRM processing using the known phone number.

Additional features may be provided by the FBX system. For example,enhanced call waiting features may be provided. In conventional callwaiting, a party may receive an incoming call while they are talking onanother call. The current options are: ignore the incoming call, takethe incoming call, and ask to call back, or offer apologies to thecurrent call and switch to the other line. However, often the incomingcall is a call that is intended for someone else in the same household.With the FBX innovation, the standard front end menu message is playedto the incoming caller, and if the call is intended for a person otherthan the person who is currently on the phone, the call may be forwardedto the cell phone or other number of the intended recipient of the call.In this way, the specific person for whom the call is intended will beable to answer the call on a cell phone or other answering device, suchas a computer, without interruption of the conversation going on withthe original called party.

As another example, enhanced call screening features may be provided.Many people do not like to receive unsolicited calls, like polls,request for donations, etc. Most call centers make these calls by usingpredictive dialers. In the FBX system, a dialer will hit a FBX prompt,which will confuse the dialer, and the call will be terminated. Thisfront end menu will protect privacy better than any privacy protectionavailable from existing providers.

An exemplary block diagram of a service provider system 108, shown inFIG. 1, is shown in FIG. 7. Service provider system 108 includes GatewaySystem 702, Voicemail/Voice Response System 703, Database System 704,and CRM System 706. Gateway System 702 is connected to the Internet 708,and/or one or more other data communication networks, such as any publicor proprietary LAN or WAN. Gateway System 702 is also connected to thePublic Switched Telephone Network (PSTN) 710. Gateway System 702 is anetwork device which converts voice and fax calls, in real time, betweena data network 708 and PSTN 710. Voicemail/Voice Response System 703plays messages to and accepts user input from callers to users of theFBX system and to users of the FBX system. Database System 704 storesinformation about users of the FBX system, such as ring types, telephonenumbers, call blast numbers, etc. CRM System 706 includes informationabout users of the FBX system, as well as providing live and/orautomated support to users of the FBX system.

An exemplary block diagram of a computer system 800 that may be used toimplement the one or more of the systems shown in FIG. 7, such asGateway System 702, Voicemail/Voice Response System 703, Database System704, or CRM System 706 is shown in FIG. 8. Computer system 800 istypically a programmed general-purpose computer system, such as apersonal computer, workstation, server system, and minicomputer ormainframe computer. Computer system 800 includes one or more processors(CPUs) 802A-802N, input/output circuitry 804, network adapter 806, andmemory 808. CPUs 802A-802N execute program instructions in order tocarry out the functions of the present invention. Typically, CPUs802A-802N are one or more microprocessors, such as an INTEL PENTIUM®processor. FIG. 8 illustrates an embodiment in which computer system 800is implemented as a single multi-processor computer system, in whichmultiple processors 802A-802N share system resources, such as memory808, input/output circuitry 804, and network adapter 806. However, thepresent invention also contemplates embodiments in which computer system800 is implemented as a plurality of networked computer systems, whichmay be single-processor computer systems, multi-processor computersystems, or a mix thereof.

Input/output circuitry 804 provides the capability to input data to, oroutput data from, computer system 800. For example, input/outputcircuitry may include input devices, such as keyboards, mice, touchpads,trackballs, scanners, etc., output devices, such as video adapters,monitors, printers, etc., and input/output devices, such as, modems,etc. Network adapter 806 interfaces device 800 with a network 810.Network 810 may be any public or proprietary LAN or WAN, including, butnot limited to the Internet, and/or the PSTN or other telephone network.

Memory 808 stores program instructions that are executed by, and datathat are used and processed by, CPU 802 to perform the functions ofcomputer system 800. Memory 808 may include, for example, electronicmemory devices, such as random-access memory (RAM), read-only memory(ROM), programmable read-only memory (PROM), electrically erasableprogrammable read-only memory (EEPROM), flash memory, etc., andelectro-mechanical memory, such as magnetic disk drives, tape drives,optical disk drives, etc., which may use an integrated drive electronics(IDE) interface, or a variation or enhancement thereof, such as enhancedIDE (EIDE) or ultra direct memory access (UDMA), or a small computersystem interface (SCSI) based interface, or a variation or enhancementthereof, such as fast-SCSI, wide-SCSI, fast and wide-SCSI, etc, orSerial Advanced Technology Attachment (SATA), or a variation orenhancement thereof, or a fiber channel-arbitrated loop (FC-AL)interface.

The contents of memory 808 varies depending upon the function thatcomputer system 800 is programmed to perform. In the example shown inFIG. 8, memory 808 includes, examples of memory contents that would beincluded in a Gateway System 812, a Voicemail/Voice Response System 814,a Database System 816, or a CRM System 818 are shown. However, one ofskill in the art would recognize that these functions, along with thememory contents related to those functions, may be included on onesystem, or may be distributed among a plurality of systems, based onwell-known engineering considerations. The present inventioncontemplates any and all such arrangements.

In the example of memory contents included in a Gateway System 812,there are format conversion routines, for converting PSTN format data todata network format data, and vice versa, and routing routines, forrouting calls and other transmissions. Of course, Gateway Systemstypically have other well-known functions that are not shown, which maybe implemented in software, hardware, or combinations of hardware andsoftware. In the example of Voicemail/Voice Response System 814, thereare voicemail routines 824, for receiving, storing, and sendingvoicemail messages, and voice response routines 826, for interactingwith persons by playing messages and accepting input. Of course,Voicemail/Voice Response Systems typically have other well-knownfunctions that are not shown, which may be implemented in software,hardware, or combinations of hardware and software. In the example ofDatabase System 816, there are data store 828, which stores the data inthe database, and data access routines 830, for storing data into andretrieving data from data store 828. Of course, Database Systemstypically have other well-known functions that are not shown, which maybe implemented in software, hardware, or combinations of hardware andsoftware. In the example of CRM System 818, there are customerinformation 832, which stores the information about customers, andbusiness logic routines 834, which implement billing, provisioning,support, and other customer related functions. Of course, CRM Systemstypically have other well-known functions that are not shown, which maybe implemented in software, hardware, or combinations of hardware andsoftware. Also not shown is the operating system that provides overallcomputer system functionality.

As shown in FIG. 8, the present invention contemplates implementation ona system or systems that provide multi-processor, multi-tasking,multi-process, and/or multi-thread computing, as well as implementationon systems that provide only single processor, single thread computing.Multi-processor computing involves performing computing using more thanone processor. Multi-tasking computing involves performing computingusing more than one operating system task. A task is an operating systemconcept that refers to the combination of a program being executed andbookkeeping information used by the operating system. Whenever a programis executed, the operating system creates a new task for it. The task islike an envelope for the program in that it identifies the program witha task number and attaches other bookkeeping information to it. Manyoperating systems, including UNIX®, OS/2®, and Windows®, are capable ofrunning many tasks at the same time and are called multitaskingoperating systems. Multi-tasking is the ability of an operating systemto execute more than one executable at the same time. Each executable isrunning in its own address space, meaning that the executables have noway to share any of their memory. This has advantages, because it isimpossible for any program to damage the execution of any of the otherprograms running on the system. However, the programs have no way toexchange any information except through the operating system (or byreading files stored on the file system). Multi-process computing issimilar to multi-tasking computing, as the terms task and process areoften used interchangeably, although some operating systems make adistinction between the two.

An exemplary system 900, in which FBX may be implemented, is shown inFIG. 9. In this example, FBX functionality is provided over atraditional PSTN network 902 with no need for any data (Internet) typeof services or any additional equipment on customer premises. System 900includes telephone networks, such as the Public Switched TelephoneNetwork (PSTN) 902 and Cellular Phone Network 904. PSTN 902 and CellularPhone Network 904 together include any and all publicly availabletelecommunications networks, including analog and digital wiredtelecommunications networks and analog and digital wirelesstelecommunications networks.

In this example, PSTN 902 provides communicative connectivity to phoneslocated at the user premises 930, such as Home Phones 924-928, over HomeAnalog Telephone Line 910. Home Analog Telephone Line 910 is typicallyconnected to a phone line that comes from a PSTN central office, whichis part of PSTN 902. Cellular Phone Network 904 provides communicativeconnectivity to wireless mobile phones, such as Cell Phones 904 and 906.Cell Phones 904 and 906 may be at any location, but are associated withusers at the user premises 930. Communicatively connected to PSTN 902and Cellular Phone Network 904 is service provider system 908, which, inthis example, is used to provide the FBX functionality. Service providersystem 908 may include apparatus such as telephone switches, gateways,etc. Service provider system 908 may be operated by a PSTN or cellulartelephone operating company, or by an independent operator. In addition,service provider system 908 may be implemented in or colocated in acentral office of PSTN 902 or equivalent facility of Cellular PhoneNetwork 904, or service provider system 908 may be implemented remotely.The present invention contemplates any and all implementations orlocations of service provider system 908.

An exemplary flow diagram of a process of operation 1000 of an FBXdistinctive ringing feature implemented in the system shown in FIG. 9 isshown in FIG. 10. It is best viewed in conjunction with FIG. 9. Process1000 starts with step 1002. In step 1004, an inbound call, that is acall from a calling party to a user of FBX, is received at the serviceprovider system 908, such as at a switch, which may be part of orlocated in a PSTN central office, or which may be separate or remotefrom the PSTN central office. In step 1006, the calling party isprovided with choices from which to select. For example, the serviceprovider system 908 may play a front end menu message such as: “Thankyou for calling the Smith family, for Liz press one, for George presstwo, for Allen press three or press zero to reach anybody in thehousehold.” In step 1008, service provider system 908 receives thecalling party's selection and determines whether a valid selection wasmade. For example, if, in response to the above message, the callingparty pressed five, this would not be a valid selection. If the callingparty's selection is not valid, the process continues with step 1010, inwhich it is determined whether an attempt limit has been reached. If theattempt limit has been reached, the process continues with step 1012, inwhich the call is ended by the service provider system 908, optionallywith the playing of a message to the calling party before the call isended. If the attempt limit has not been reached, the process continueswith step 1006, in which the calling party is given another attempt toenter a valid selection.

If, in step 1008, the calling party enters a valid selection, theprocess continues with step 1014, in which service provider system 908accesses a database to retrieve the type of ring that corresponds to theselection made. In step 1016, service provider system 908 causes acentral office of PSTN 902 to send the selected analog ring tone to HomeAnalog Telephone Line 910. This causes Home Phones 924-928 to ring withthe selected ring tone. Service provider system 908 communicates withthe PSTN central office using signaling or messaging that depends uponthe implementation of the system. For example, if service providersystem 908 is part of or located in a PSTN central office, the signalingor messaging used may differ from the signaling or messaging used ifservice provider system 908 is separate or remote from the PSTN centraloffice.

In step 1020, it is determined whether or not the call was answered. Ifnot, then in step 1022, the call is sent to voicemail, and inparticular, to the voicemail box of the person selected above. After thevoicemail is complete, in step 1024 service provider system 908 ends thecall. If the call was answered, then in step 1026, the phoneconversation occurs, and when completed, in step 1028 service providersystem 908 ends the call.

An exemplary flow diagram of a process of operation 1100 of an FBXauto-call blasting and notification feature is shown in FIG. 11. It isbest viewed in conjunction with FIG. 9. Process 1100 starts with step1102. In step 1104, a call is originated from one of the phones 924-928connected to PSTN 902 over Home Analog Telephone Line 910 by a userdialing one of the family home extension numbers. For example, if thedesired called party has a home extension number of “3”, the user wouldsimply dial 3 on the home phone. As phones 924-928 are regular analogtelephones, they output DTMF signals to PSTN 902. In step 1106, PSTN 902receives the DTMF signals output by the dialed telephone. PSTN 902processes the received DTMF signals, generates a message indicating acall to a home extension, and sends the message to the phone server ofservice provider system 908. In step 1108, service provider system 908receives the message. The type and format of the message depends uponhow service provider system 908 is implemented. For example, serviceprovider system 908 may implemented in or co-located in a central officeof PSTN 902, or equivalent facility of Cellular Phone Network 904, orservice provider system 908 may be implemented remotely. Messages typesthat may be used included Signaling System 7 (SS7) messages, SIPmessages, or other standard or proprietary message types or formats. Thepresent invention contemplates any and all such message types andformats.

In step 1110, service provider system 908 determines whether or not thecall came from the Home Analog Telephone Line 910. The information inthe message is sufficient for the service provider system 908 to do adatabase lookup and determines whether the call was originated by one ofthe home phones. If the call was not originated by one of the homephones, then in step 1112, service provider system 908 performs regularcall handling.

If the call was originated by one of the home phones, then in step 1114,service provider system 908 checks the user destinations for the calledparty. Because the call was originated from one of the home phones,there is no need to dial the called party at home. Service providersystem 908 does a database lookup to retrieve additional userdestinations for the called party. Examples of additional userdestinations include cell phone numbers, work numbers, VoIP phonenetwork addresses, or network names, etc. In step 1116, service providersystem 908 determines whether there are any other user destinations. Ifthere are none, then in step 1118, the call is sent to voicemail. Inthis case, the feature can be used as a short cut to leave a message foranother family member. If, in step 1116, it is determined that there areother user destinations, such as a cell phone in this example, then instep 1120, the call is forwarded to that cell phone. The forwarding ofthe call is similar to the handling of regular call. In step 1122, thephone conversation occurs, and in step 1124, the call is ended.

It is important to note that while the present invention has beendescribed in the context of a fully functioning data processing system,those of ordinary skill in the art will appreciate that the processes ofthe present invention are capable of being distributed in the form of acomputer program product including a computer readable medium ofinstructions. Examples of non-transitory computer readable media includestorage media, examples of which include, but are not limited to, floppydisks, hard disk drives, CD-ROMs, DVD-ROMs, RAM, and flash memory.

Although specific embodiments of the present invention have beendescribed, it will be understood by those of skill in the art that thereare other embodiments that are equivalent to the described embodiments.Accordingly, it is to be understood that the invention is not to belimited by the specific illustrated embodiments, but only by the scopeof the appended claims.

What is claimed is:
 1. A method of providing support servicescomprising: receiving, at a service provider system connected to a datanetwork and to a telephone network, an access to voicemail from a userat user premises; checking, at the service provider system, the statusesof all voicemail boxes associated with the user premises to determine anumber of new voicemail messages in each voicemail box; automaticallybuilding, at the service provider system, a single voice messageindicating which voicemail boxes of all voicemail boxes associated withthe user premises have new messages; and playing, from the serviceprovider system to the user, the voice message indicating whichvoicemail boxes have new messages.
 2. The method of claim 1, wherein theautomatically built single voicemail message further indicates apresence, absence, and number of new, old, and saved messages in eachvoicemail box.
 3. A computer program product for providing supportservices comprising: a non-transitory computer readable medium; computerprogram instructions, recorded on the non-transitory computer readablemedium, executable by a processor, for performing the steps of:receiving, at a service provider system connected to a data network andto a telephone network, an access to voicemail from a user at userpremises; checking, at the service provider system, the statuses of allvoicemail boxes associated with the user premises to determine a numberof new voicemail messages in each voicemail box; automatically building,at the service provider system, a single voice message indicating whichvoicemail boxes of all voicemail boxes associated with the user premiseshave new messages; and playing, from the service provider system to theuser, the voice message indicating which voicemail boxes have newmessages.
 4. The computer program product of claim 3, wherein theautomatically built single voicemail message further indicates apresence, absence, and number of new, old, and saved messages in eachvoicemail box.
 5. A system for providing support services comprising: aservice provider system connected to a data network and to a telephonenetwork operable to: receive an access to voicemail from a user at userpremises; check the statuses of all voicemail boxes associated with theuser premises to determine a number of new voicemail messages in eachvoicemail box; automatically build a single voice message indicatingwhich voicemail boxes of all voicemail boxes associated with the userpremises have new messages; and play to the user the voice messageindicating which voicemail boxes have new messages.
 6. The system ofclaim 5, wherein the automatically built single voicemail messagefurther indicates a presence, absence, and number of new, old, and savedmessages in each voicemail box.